Interactive synchronized multi-screen display

ABSTRACT

Systems and method for displaying interactive content. The systems and method include a host device configured to receive register commands from a plurality of client devices, the register commands including arrangement information of the plurality of client devices. The host device registers the plurality of client devices with the host device. The host device is further configured to determine a position for each of the plurality of client devices based on the arrangement information, and transmit display instructions to the plurality of client devices to start display of respective portions of a whole presentation corresponding to the position of the client devices in a synchronized fashion.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority of U.S. Provisional Application No.61/663,211, entitled “INTERACTIVE SYNCHRONIZED MULTI-SCREEN DISPLAY,”filed on Jun. 22, 2012, the disclosure of which is hereby incorporatedby reference in its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF THE INVENTION

The invention described herein generally relates to the synchronizationof a display using a plurality of screens, and in particular, usingtablet devices. A system and process is provided where computerizeddisplays (tablet PCs, tablet computers, smartphones, etc.) can be placedin certain configurations and synchronized to generate both a unifiedand individual user experience.

BACKGROUND OF THE INVENTION

In the past, large displays have been created by using a computer orelectronic device to drive multiple displays into a single displaymatrix. This matrix requires specialized programming and electronicscapable of driving all the displays in unison. Examples of such displaysinclude electronic billboards and signs. However, these large displayswere not intended for user interaction. As such, people would walk pastsuch electronic displays and may not pay much attention to them.

Tablet computing devices such as Apple's iPad® have gained in popularityas the computing device of choice over traditional computers. Thesetablet devices have become increasingly popular because of theirportability, weight, low power consumption, ease to set up, and abilityto rapidly obtain media, e.g., via wireless connections to the Internet.In addition to the foregoing, tablet computing devices are fairly easyto use because of their intuitive user interfaces. Tablet devices haveadvantages over traditional electronic displays and offer features thatthe displays cannot provide. As such, tablet devices may be utilized inan advantageous manner to enrich a user's experience in advertisingproducts and services.

Currently, existing displays and signs do not provide interactivefeatures and content for users to engage with. There is thus a need toprovide a user-approachable display system that allows users to exploreadditional content experiences.

SUMMARY OF THE INVENTION

The present invention provides systems and method for displayinginteractive content. A system according to one embodiment includes ahost device configured to receive register commands from a plurality ofclient devices, the register commands including arrangement informationof the plurality of client devices. The host device is furtherconfigured to register the plurality of client devices with the hostdevice, determine a position for each of the plurality of client devicesbased on the arrangement information, and transmit display instructionsto the plurality of client devices to start display of respectiveportions of a whole presentation corresponding to the position of theclient devices in a synchronized fashion.

The plurality of client devices may be mounted on a surface in anarrangement consistent with the arrangement information. The arrangementinformation indicates a position of a given client device within amultiple screen display arrangement. In some embodiments, thearrangement information includes a row and column number associated withthe position of a given client device. Each of the register commands mayalso include the client devices' Internet Protocol address.

According to one embodiment the host device is configured to generate ascannable configuration code. The scannable configuration code includesconfiguration information of the host device usable by the plurality ofclient devices to communicate with the host device. The scannableconfiguration code may be a QR code. In another embodiment, thescannable configuration code includes a radio-frequency identificationcode that is transmittable via at least one of near field communication,Bluetooth, and radio frequency identification tag technologies.

The plurality of client devices may be arranged in a multi-dimensionalarray of devices. In some embodiments, the host device may be one of theplurality of client devices where the host is operable to perform bothhost and client functions.

The plurality of client devices are configured to provide an individualexperience upon user interaction. The user interaction may interrupt thedisplay of respective portions of the whole presentation at any giventime on a given one of the plurality of client devices during thepresentation. An individual experience can provide at least one of:games, quizzes, images, documents, and additional videos. The hostdevice may be further configured to transmit session data to theplurality of client devices providing the individual experience.Providing the individual experience includes replacing the display ofrespective portions of the whole presentation with the individualexperience. The plurality of client devices are also configured torestore the display of respective portions of the whole presentationupon completion of the user interaction.

A system according to another embodiment includes a host deviceconfigured to receive register commands from a plurality of clientdevices, the register commands including arrangement information of theplurality of client devices, register the plurality of client deviceswith the host device. The host device is further configured to determinea position for each of the plurality of client devices based on thearrangement information, and transmit display instructions to theplurality of client devices to start display of respective portions of awhole presentation corresponding to the position of the client devicesin a synchronized fashion. The system further includes the plurality ofclient devices in an arrangement consistent with the arrangementinformation configured to receive the display instructions from the hostdevice, display the respective portions of a whole presentation, andprovide an individual experience in response to a user interaction.

Non-transitory computer readable media according to one embodimentcomprises program code that when executed by a programmable processorcauses execution of a method for displaying interactive content. Thecomputer readable media comprising computer program code for receivingregister commands from a plurality of client devices, the registercommands including arrangement information of the plurality of clientdevices, computer program code for registering the plurality of clientdevices with the host device, computer program code for determining aposition for each of the plurality of client devices based on thearrangement information, and computer program code for transmittingdisplay instructions to the plurality of client devices to start displayof respective portions of a whole presentation corresponding to theposition of the client devices in a synchronized fashion.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated in the figures of the accompanying drawingswhich are meant to be exemplary and not limiting, in which likereferences are intended to refer to like or corresponding parts, and inwhich:

FIG. 1 illustrates a computing system according to an embodiment of thepresent invention.

FIG. 2 illustrates a host and client device according to an embodimentof the present invention.

FIG. 3 illustrates a computing system according to an embodiment of thepresent invention.

FIG. 4 illustrates an exemplary configuration interface of a device inhost mode according to an embodiment of the present invention.

FIG. 5 illustrates an exemplary configuration interface of a device inclient mode according to an embodiment of the present invention.

FIG. 6 illustrates a flowchart of a method for providing an interactivesynchronized multi-screen display according to an embodiment of thepresent invention.

FIG. 7 illustrates a diagram of a client device and a host device at thestart of a user interaction with the client device according to anembodiment of the present invention.

FIG. 8 illustrates a diagram of a client device and a host device at theend of a user interaction with the client device according to anembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, exemplary embodiments in which theinvention may be practiced. Subject matter may, however, be embodied ina variety of different forms and, therefore, covered or claimed subjectmatter is intended to be construed as not being limited to any exampleembodiments set forth herein; example embodiments are provided merely tobe illustrative. It is to be understood that other embodiments may beutilized and structural changes may be made without departing from thescope of the present invention. Likewise, a reasonably broad scope forclaimed or covered subject matter is intended. Among other things, forexample, subject matter may be embodied as methods, devices, components,or systems. Accordingly, embodiments may, for example, take the form ofhardware, software, firmware or any combination thereof (other thansoftware per se). The following detailed description is, therefore, notintended to be taken in a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part.

FIG. 1 presents a computing system according to an embodiment of thepresent invention. A presentation divided among 12 tablet computingdevices is shown in FIG. 1. Each of tablets 102, 104, 106, 108, 110,112, 114, 116, 118, 120, 122, and 124 are arranged adjacently from oneanother in computing system 100 and synchronized such that,collectively, they display a larger presentation. Tablets 102 through124 may be individually controlled and coordinated in unison such thatthey display a proper image based on their configuration with respect toeach other. Individually, each tablet may display only a portion of thelarger presentation but when arranged in a proper order or sequence, thetablet devices combine to create the entirety of the largerpresentation. Such an aggregation of tablet devices may also be used formoving images (such as video and animation) in which the moving imagesare divided up into quadrants or sections where each tablet device isresponsible for displaying its own piece of an overall moving image. Thetablet devices may be integrated into an enclosure to form a “wall,”array, or matrix of tablet/touchscreen displays. The present system maybe used to present ideas and concepts in a public setting such as at ashow, fair, convention, or forum where a variety of companies ororganizations may set up tables and/or booths to provide informationabout their organization, products, research, and services. In addition,the present system may be used at sporting events, concerts, retaillocations, galleries, museums, etc.

A “tablet” device refers to any self-contained computing device with avisual display monitor, where the visual tablet device is coupled with acomputer that drives the tablet device without requiring any externallyconnected hardware. This may include any such device regardless ofscreen size, from devices with small screen sizes (for example,smartphones), mid-sized personal tablet devices (for example, an AppleiPad®), or large tablet devices (e.g., flat screen monitors withintegrated computers or smart TV's). A tablet device may vary in termsof capabilities or features. Claimed subject matter is intended to covera wide range of potential variations. For example, a tablet device mayalso include a numeric keypad or a display of limited functionality,such as a monochrome liquid crystal display (LCD) for displaying text.In contrast, however, as another example, a tablet device may includeone or more physical or virtual keyboards, mass storage, one or moreaccelerometers, one or more gyroscopes, global positioning system (GPS)or other location identifying type capability, or a display with a highdegree of functionality, such as a touch-sensitive color 2D or 3Ddisplay.

A tablet device may include or may execute a variety of operatingsystems, including a personal computer operating system, such as aWindows, Mac OS or Linux, or a mobile operating system, such as iOS,Android, or Windows Mobile, or the like. A tablet device may include orexecute a variety of possible applications, such as a softwareapplication enabling communication with other devices, such ascommunicating one or more messages. A tablet device may also include orexecute an application to communicate content, such as, for example,textual content, multimedia content, or the like. A tablet device mayalso include or execute an application to perform a variety of possibletasks, such as browsing, searching, playing various forms of content,including locally stored or streamed video, or games. The foregoing isprovided to illustrate that claimed subject matter is intended toinclude a wide range of possible features or capabilities.

According to one embodiment, system 100 allows the synchronization ofmultiple tablet computers such that when aggregated together, the arrayof tablets generates a larger interactive experience including a “mainpresentation,” which is discussed in further detail below. The tabletdevices may be communicatively coupled by means of a network, and canoperate individually or as a single modular unit. The network may be anysuitable type of network allowing transport of data communicationsacross thereof. A network may couple devices so that communications maybe exchanged, such as between a server and a tablet device or othertypes of devices, including between wireless devices coupled via awireless network, for example. A network may also include mass storage,such as network attached storage (NAS), a storage area network (SAN), orother forms of computer or machine readable media, for example. Anetwork may include the Internet, one or more local area networks(LANs), one or more wide area networks (WANs), wire line typeconnections, wireless type connections, or any combination thereof.

The tablet devices may be synchronized with each other via wired orwireless networking protocols (such as TCP/IP, NFC and Bluetooth (IEEE802.15.1) technology) and can have either a separate dedicated server ordevice that controls a main presentation. In one embodiment, a hostdevice is a tablet computing device external from the aggregated tabletdevices utilized to synchronize and control a tablet device array. Anexternal server or host device may control the visual display of everytablet synchronized within the tablet device array.

FIG. 2 illustrates a host and client device according to an embodimentof the present invention. Host device 202 comprises a tablet deviceoperating in a host mode to communicate with other tablet devices suchas client device 204 in order to synchronize the devices. The tabletdevices may use a wireless connection over, for example, TCP/IP tocommunicate. A single host device may have dual responsibilitiesassigned to it—a synchronization server and a content server. Accordingto one embodiment, the tablet devices used in the present system mayalso function in either a host mode or a client mode. In one embodiment,host device 202 may also provide content in addition to synchronizationcommands to the client device 204.

A client device 204 may dynamically generate its own content, have itscontent previously pre-loaded on it, or receive the content from aremote device. The content can take the form of image or video data,documents (such as Portable Document Format (PDF) files, word processorfiles, spreadsheets, etc.), or software instructions on how todynamically generate the visual experience unique to the individualdisplay. According to one another embodiment, an external content serveror device may provide content to client device 204 (either via wired orwireless methods). The content server can be an external deviceresponsible for displaying content to each of the client devices.Servers may vary widely in configuration or capabilities, but generallya server may include one or more central processing units and memory. Aserver may also include one or more mass storage devices, one or morepower supplies, one or more wired or wireless network interfaces, one ormore input/output interfaces, or one or more operating systems, such asWindows Server, Mac OS X, Unix, Linux, FreeBSD, or the like.

In the illustrated example, host device 202 is operating in a host modeand client device 204 is an exemplary tablet device operating in aclient mode. Each individual device, such as client device 204, is ableto render an appropriate piece of content it needs to display to whollyform a larger display. Tablet devices used in the present system mayfunction either in a host mode or a client mode. In one embodiment, hostdevice 202 may be a tablet device external to a tablet device array ormatrix comprised of a plurality of tablet devices arranged forpresentational display. The array may be either a single-dimensional ormulti-dimensional array. In another embodiment, host device 202 may be agiven one of a plurality of tablet devices in a tablet device array. Ahost device 202 within a tablet device array may also perform hostoperations as well as client operations. For example, host device 202may be responsible for displaying its own piece of content as well asproviding synchronization responsibilities to other tablet devices.

FIG. 3 illustrates a computing system according to an embodiment of thepresent invention. Client device array 300, as illustrated, is incommunication with host device 302. Client device array 300 includes aplurality of client tablet computing devices configured and arrangedadjacently to collectively form a single display. Each of the clientdevices are configured such that they may display a portion of a mainpresentation. When the client devices are arranged adjacently (e.g.,into a matrix), the plurality of the portions of the main presentationare united to form a wholly formed display of the main presentation. Theclient device array 300 may comprise, for example, a plurality of clienttablet devices mounted to a wall or a flat surface such as a table. Itshould also be noted that the array of tablet devices which form thelarger overall display need not be from the same manufacturer or runningthe same operating system.

In the illustrated embodiment, the client device array 300 is arrangedin a ‘3×4’ array. However, the number of devices shown in client devicearray 300 as shown in FIG. 3 is merely exemplary and is not a limitationin the number of tablet devices comprising client device array 300.Client device array 300 may in fact include either more or less tabletdevices than depicted. In addition to the plurality of client tabletdevices, client device array 300 may also comprise device chargers,power strips, and wireless routers. Each of the client devices may bedriven by an external device (host device 302), which has been assignedthe responsibility for the synchronization of the client devices and forsupplying the display instructions and/or content required by each ofthe individual client devices. As illustrated in FIG. 3, host device 302is a separate device that is not a member of the collection of clientdevices in client device array 300. However, in other embodiments, hostdevice 302 may a member of client device array 300 operating with bothhost and client functionality.

A scannable configuration code may be generated on the host device 302.The scannable configuration code may be a barcode such as a QR code thatis automatically generated upon initiation of a program providing thehost functionality on the host device 302. In one embodiment, thescannable configuration code may be displayed on a user interface of thehost device. The displayed code is operable for scanning by clientdevices in a multiple screen display configuration to allow the clientdevices to connect with the host device 302. The scannable configurationcode may include an IP address, a communication port number, and anyother information that may be required for establishing a connectionbetween two computing devices. Information in the configuration code isable to allow client devices to connect and transmit messages, data, orcommands to the host device. Alternatively, the same information in theconfiguration code may be manually entered on the client devices.

In one embodiment, the present invention provides an interactivepresentation “wall” where users can explore and interact with thepresentation material. The main presentation may be a pre-programmedpresentation, running the client devices in client device array 300 asone synchronized display. The display provides a single, largesynchronized display that can be viewed from afar to draw attention. Thesynchronized display comprising client device array 300 may present amain presentation including videos with interactive features andadditional information regarding, for example, a product or service.

Host device 302 comprises a tablet device configurable in a host mode.The host device 302 includes a synchronization server responsible forensuring that each client device in client device array 300 shows itsappropriate piece of content at the proper time. Synchronization datafor a main presentation may be sent simultaneously to all of the clientdevices within client device array 300. A main presentation may comprisea visual presentation utilizing at least a plurality of the clientdevices (e.g., all or a majority of the client devices) within clientdevice array 300. The main presentation may include videos, images,slideshows, etc., displayed on the client device array 300. According toone embodiment, client device array may alternate display of multiplemain presentations.

For a main presentation, once each device has conformed synchronization,corresponding content pieces that each of the client devices shoulddisplay are sent to the client devices. When displaying images, contentpieces may include individual image file identifiers or image fileidentifiers with coordinate specifications for an area of an image thata specific client device is to display. For video content, the contentpieces may include video file identifiers or video file identifiers alsowith coordinate specifications as well as time-codes for an area andtime reference from which to start playing a video. Each client devicein client device array 300 may contain pre-loaded and/or pre-renderedcontent required for display by the device. In one embodiment, all ofthe necessary graphics, documents, images, videos and other creativeassets may be stored on each client device. This allows the clientdevices to be positioned anywhere in the group of client devices.Preloading content to the client device also obviates the need for ahost device or a content server to stream or send content or video toeach client for display over a wireless connection, which may result ina smoother and more reliable display of high resolution video. Inanother embodiment, each client device may dynamically generate (via asoftware application or algorithm) its piece of the overall displayexperience.

Each of the client devices within client device array 300 is receptiveof user interactions. A user may interact with or otherwise remove anyindividual tablet from client device array 300 at any point duringpresentation of a main presentation. For example, while a mainpresentation is displayed on client device array 300, a user may tap onthe screen of one of the plurality of client devices. User interactionsmay include taps, swipes, or any other gestures on the touch screen of aclient device. In response to a user interaction, the client device mayrespond accordingly to a predetermined response.

Host device 302 may receive an indication of a user interaction from theclient device and transmit a response command to the client device. Theresponse command may instruct the client device to begin providing thepredetermined response. The predetermined response may be related to themain presentation. In one embodiment, the predetermined response maytransition display of the main presentation to an individual experience.When a user interacts with a device displaying a main presentation, amain menu layer may overlay the main presentation on the client device'sdisplay. The main menu may offer options for accessing other interactivefunctions available on the client device for the individual experience.Available activities include requesting for additional informationassociated with the main presentation (e.g., for a product or service),subscribing to future information not immediately available, selectinginformation to have e-mailed directly to a user or delivered by a localrepresentative, checking in, tracking a user's progress or status,requesting an appointment or meeting, providing feedback and comments ona main presentation or individual experiences, entering a raffle orsweepstakes, participating in interactive games, taking quizzes, andviewing videos.

While the user interacts with the individual client device, theremaining client devices remain part of the main presentation,uninterrupted. It should be noted that some functions of the individualexperience may engage not just the individual client device, but alsoother nearby client devices. In one embodiment, a plurality of theclient devices in the individual's immediate vicinity or surrounding theindividual client device may be included in providing the personalizedexperience. Client devices not being used for the individual experiencemay maintain their synchronized display of the main presentation. Duringan individual experience, host device 302 may receive and transmit datato facilitate a session with the user interacting with the client.

Once the user interaction has ended, the individual client may rejoinits place in the array of client devices, and is synchronized back withthe main presentation to its proper place. In such a case, the clientdevice may transmit a signal to host device 302 that it is ready torejoin the main presentation and the host device 302 will accordinglyupload the information on how to join back in synchronization with themain presentation. The signal to rejoin the main presentation may beachieved by a command on the individual client allowing the user toinform the host device that the user has completed their interaction.Alternatively, the signal may be automatically transmitted to the hostdevice 302 based on a pre-set inactivity timer. For example, each clientdevice may be programmed to return to the main presentation after tenseconds, or some other pre-set time, of non-interaction from a user.

In one embodiment, a user may select an option to play a video from themain menu layer during an individual experience. A new video layer mayappear over the main presentation, which may remain in the background.The new video layer is operable to play a video on the video layer. Whenthe video ends or if the user closes the video, the video layer may beremoved to reveal the main presentation layer. In another embodiment, auser may select a memory game from the menu layer in which an individualor individuals participate in choosing matching images hidden behindvarious “tiles.” A game movie player may overlay the main presentationlayer and execute the memory game. After the user has chosen to startthe game via the main menu option, the main menu layer is hidden andreplaced with the game.

Each client device may be assigned a single tile for the memory game.Pairs of matching images are assigned to random client devices to createpairs to be matched. When the game begins, the host device 302 is sentan “InitiateGame” message from the client device with which the user hasselected the option to play a game. When the host device 302 receivesthe “InitiateGame” message, a tile array is initiated with pairs of tilenumbers that represent the images used in the memory game. Since this isa matching game, the same two tiles will be used by two differentdevices, hence the array for a 12 device game may be[1,1,2,2,3,3,4,4,5,5,6,6]. The game state array may also associate acorresponding client device Internet Protocol (IP) address to the tilesassigned to each of the client device positions in client device array300. This array may then be randomized to place the positions of thetiles in a random fashion among the client devices.

Host device 302 may then issue a “StartGame” message which signals eachof the client devices which tile they are to display and to begin thegame by displaying an appropriate “forward flip” animation, followed bya “back flip” animation after a one second pause. The “StartGame”message is sent to each client device individually. The number of thetile that the client should display is sent as a parameter of themessage. This informs the client which tiles they should play for theflip animations. During the start of the game, a forward flip animationallows the user to get a brief view of all the different images to bematched across the array of client devices. After the back flipanimation plays, users are no longer able to view the images and mustselect (or tap) the appropriate client displays to reveal the images“hidden” behind them. The different images displayed on the array ofclient devices by the forward flip are replaced with guess images aftera back flip.

Each client tile may show two animations, the forward flip (a guessstate to a picture state) and the back flip (the picture state to theguess state). When a user selects a client device on a first guess, theforward flip animation is played, which reveals the image assigned tothe client device to the user. An “ItemFlip” command is issued to thehost device by the client device to display an appropriate animation.The client device that has been selected may notify the host device 302that it has been selected by issuing the “ItemFlip” message whichcontains the client device's IP address and an assigned image number.Host device 302 may store this information in memory and wait for asecond guess to be made.

When a user selects a second client device for the second guess, theforward flip animation is played, revealing the image assigned to thesecond client device to the user. The client device that has beenselected notifies the host device 302 that it has been selected byissuing the “ItemFlip” message which contains the client device's IPaddress and assigned image number. The host device 302 may then matchthe two selected device's image numbers to determine whether they are amatch. If they are a match, host device 302 may score the match and senda “correct” command to each of the two selected client devices. Thecorrect command sent from the host device 302 to the client devicenotifies the client device that it should display a “correct” imageoverlay for the memory game. Each of the two selected client devicesthen may overlay a “correct” image over the currently displayed image toalert the user that a match has been made.

The host device 302 may then wait for the user to select another twoguesses to determine whether they are matches as well. If the userselects images on client devices that do not match, the host may send an“incorrect” message to each those client devices. The “incorrect”command notifies the client device that it should show the “incorrect”image overlay and then execute the back flip animation to return thedisplay to the hidden state for the memory game. An “incorrect” imagemay briefly appear (e.g., for one second). Each of the client devicesdisplaying the non-matching images may then execute the backwards flipanimation and return to displaying a guess image. The user may repeatthis process of selecting possible matching pairs until all matchingpairs are identified.

Throughout the course of the game, the host device 302 may track howmany tiles have been matched. When all of the matching pairs have beenidentified by the user, the host device may transmit a “GameOver”message and a score to at least one of the client devices. In oneembodiment, when a given client device receives the “GameOver” message,it may end the game after at least one device takes a picture using afront facing camera located on each client device. The client device maythen display the image captured by its camera for a few seconds and a“Winner” image is overlaid on each of the images displayed by the clientdevices. After the few seconds have elapsed, the game movie player isremoved from the display of the client devices and display of the mainpresentation may resume on all the client devices.

Another feature on the main menu layer may allow a user to requestinformation. Selection of the request information feature may bringabout a registration form layer to appear over the main presentationlayer. In one embodiment, a user registration may be required to requestinformation. Data entry into the registration form layer may be enteredby the user using either a virtual keyboard or a badge scan. By tappingon a field on the registration form, a virtual keyboard may be displayedon screen so that the user can type in e.g., a first name, last name,company name and email address.

Alternatively, a user may scan a badge using the front facing camera ofthe client device. For example, client device array 300 may be placed inconventions, fairs, or tradeshows where visitors or guests may be givenidentification badges. Selecting a scan badge option may trigger aclient device to enter a scan barcode mode and activate the front facingcamera. The user may hold their badge up to the device's front facingcamera to scan and recognize the barcode to extract informationassociated with the barcode. The client device may use a barcodeprocessing library such as ZXing for barcode processing.

Information extracted from the barcode may then be used to populate theappropriate fields on the registration form. A user may optionally takea picture of oneself and include it with the registration information.When the user has completed entering in their information, they maysubmit their information and the client device saves the information forlater retrieval. In another embodiment, the information may be sent tothe host device for centralized processing and for immediate reportingof the requested information. Functionality may also be added toinitiate the immediate sending of information from either the clientdevice, host device or a remotely located server.

A tablet device may be configured as a host device with an applicationor software providing a user interface such as the one illustrated inFIG. 4. When the application is started, the application identifies thecurrent IP address 406 of the device. The status 408 of the host devicemay be displayed. In the current example, status 408 indicates that thehost device is listening on communications port ‘52258’.

An “easy configuration” QR code 414 may be generated and displayed onthe screen. QR code 414 may be utilized by client devices to allow themto connect with the host device. The QR code 414 may be embedded withconfiguration information of the host device. Configuration informationmay include an IP address, a communication port number, and any otherinformation that may be required for establishing a connection betweentwo computing devices. In one embodiment, a user of the host device mayposition the QR code 414 for scanning by client devices to automaticallyregister the client devices with the host device.

The application also initiates networking functionality to listen on thedevice's IP address and an application defined port. In the exemplaryfigure, a port 402 for TCP/IP communications used by the host device maybe configured to ‘52258’. However, this may be changed prior to hostinitiation if necessary. The application may use an open source packagesuch as GCDAsyncSocket to provide core networking functionality.Networking functionality may include setting up listeners on the socketand receiving messages arriving on the specified port via TCP/IP. Asclient devices connect, new connections may be stored in memory on thehost device by IP address for use in communications with the newlyconnected client devices. When a connection is terminated, thecorresponding client connection information is removed from the memoryof the host device.

IP addresses 410 of connected client devices are displayed on the userinterface. Each of the connected client devices may be assignedcoordinates or a unique row and column number corresponding to itsarrangement within a client device array. The list of IP addresses areordered accordingly to the row and column numbers of the client devicearray. For example, “R1C1 IP” indicates a client device configured asthe first row and first column device of the client device array. “R2C1IP” indicates a client device with an IP address of ‘192.168.10.212’configured as the second row and first column device of the clientdevice array. The illustrated example is configured to support 12devices (three rows and four columns). However, this can be changed andis not a limitation imposed by the design of the system. The maximumnumber of devices the system can support may be any given amount.Additionally, the client devices need not be arranged in an array andmay be configured in different shapes and patterns where each row andcolumn include varying number of client devices. The host device may beconfigured to show a plurality of presentations 428 on tablet devicesoperating in client mode. In the exemplary illustration, host device isconfigured to show one of four possible presentations (Demo 1, Demo 2,Demo 3 or Demo 4). This may be an arbitrary selection as the applicationcan support an unlimited number presentations being available fordisplay.

The configured device is able to send several commands to connectedclients, both automatically and manually. Exemplary commands include,but are not limited, to the following discussion.

The stop button 404 is operable to initiate a command sent to connectedclient devices and cause them to stop running the main presentation orexit whatever presentation or experience they are currently displaying.Upon stopping the host operation, button 404 may dynamically change, forexample, from “Stop” to “Start.” To initiate host mode, the user mayclick the same button 404 again to re-enable host functions. The userinterface may be refreshed so that IP addresses 410 of connected clientdevices appear and disconnected client devices are removed.

Send play command 416 may trigger client devices to initiate a mainpresentation loop. This command can be configured to be automaticallyresent after a number of seconds defined in loop timing setting 412.Loop timing setting 412 may be dynamically adjusted to allow forpresentations of various lengths to be displayed. Send play command 416can send a command to a client device to initialize a movie window orplayer layer. This layer may contain, for example, the Apple movieplayer control “MPMoviePlayer” which handles the displaying of videoclips.

Send stop command 418 may send a command to a client device to removethe movie layer from display. The client may also be disconnected fromthe host device.

Send exit command 420 may be used to send a command to all connectedclients and cause them to terminate software execution. Subsequently,the application on the host device may then shut down. Alternatively,send exit command 420 may be sent to a client device such that when aclient receives the command, an application on the client device isterminated.

End game command 422 may be sent to all connected clients currentlypresenting a game and will stop the game to resume displaying the mainpresentation. This command allows a person running the client devicearray or wall (e.g., an administrator) to reset the client displaysshould a person choose to abandon playing a game.

A restart 424 command may be sent to all client devices and causes theconnected client devices to stop whatever interaction they aredisplaying, clear the main presentation loop and restart the mainpresentation from the beginning. The restart 424 command may be used torestore the synchronization of devices for the presentations should oneof the client devices fall out of synchronization or has malfunctioned.

Kill app command 426 may be used to terminate the configurationapplication running on the host device. The host terminates but does notsend any command to the connected clients. When the host is terminated,all connected clients may continue to run but will not be able tocommunicate with the host or each other.

FIG. 5 illustrates an exemplary configuration interface of a device inclient mode according to an embodiment of the present invention. Atablet device operating in a client mode may be configured using theuser interface of an application illustrated in FIG. 5. It should alsobe noted that the device used in FIG. 5 may be the same device describedwith respect to FIG. 4. Any client device may be configured to operateas a host device using the start host button 504, and conversely, a hostdevice may be configured to operate as a client device using the same ora similar button.

A port 502 for the device's TCP/IP communications may be set to ‘52258’.The IP address 506 indicates the device's IP address. Row and columnbuttons 516 and 518, indicates the current relative position orarrangement of the client device among a client device array. Theposition of the client device in the group of client devices can be setby selecting the appropriate selection using the row and column buttons516, 518, respectively. The kill app command 512 may be selected toterminate the configuration application running on the client device.The client device may be configured to show a plurality of presentations514 (in this example, one of four possible presentations of Demo 1, Demo2, Demo 3 or Demo 4).

To allow a host device to assume control of the client device, the IPaddress of the client device should be communicated to and registeredwith the host device. This may be achieved using a variety of methods.One embodiment includes manually entering an IP address of the hostdevice in the host IP address 520 field and then clicking the registerwith host button 510 to connect to the host device. Another embodimentincludes the use of a QR code from the host device. The user interfaceof the host device includes a QR code embedded with configurationinformation, which was described above with respect to the descriptionof FIG. 4.

The scan IP address button 508 may be selected which causes theapplication to initialize a system camera (e.g., a front facing camera).A user may then position the screen of the host device displaying the QRCode for capture and scan. Upon successful recognition and extraction ofthe configuration information from the QR code, the client devicedeactivates the camera and establishes a connection with the hostdevice. In other embodiments, the QR code may be substituted with othertwo-dimensional barcodes, or a one-dimensional barcode. In yet anotherembodiment, radio-frequency identification codes carrying configurationdata may be transmitted between the host and client devices using RFIDtags, near field communication (NFC) technologies, Bluetooth, and otherforms of short distance electronic communications. Further descriptionand details of RFID and NFC systems may be found in U.S. PatentApplication Publication No. 2008/0272889, entitled “NFC COMMUNICATORSAND NFC COMMUNICATIONS ENABLED DEVICES”, which is hereby incorporated byreference in its entirety.

Once a client device has been connected to a host device, it may stay ina connected client mode. The connected client mode allows the client andhost devices to send and receive messages, data or commands from eachother. A register command or request may be sent from the client deviceto the host device. An array containing the device position and its IPaddress may be sent as parameters in the register command. When the hostdevice receives this command, it uses the location information toidentify an appropriate client position field (displayed on the hostuser interface) and populates the client's IP Address in that positionfield to register the client device. The client position field may serveas a user confirmation of device registration and used for communicatingwith the client device. The position sent to the host may be in theformat of “RxCy” where ‘x’ is the row number and ‘y’ is the columnnumber of the device. This is determined by the row and column selectorbuttons 516 and 518 on the client configuration screen.

FIG. 6 presents a flowchart of a method for providing an interactivesynchronized multi-screen display according to an embodiment of thepresent invention. The method of FIG. 6 may be executed on a tabletdevice configured to perform host operations (e.g., as a host device) asillustrated in FIG. 2 and FIG. 3, or on any other suitable processingdevice.

Register commands are received from a plurality of client devices instep 602. The register command may include the client devices' IPaddress and position within the multiple screen display configuration.For example, the position may be in the format of “RxCy” where ‘x’ isthe row number and ‘y’ is the column number of a given device. Accordingto other embodiments, the register command may instead includemathematical coordinates, geographical coordinates, or other types oflocation indicators. In a next step 604, information may be extractedfrom the register commands and used to register the client devices withthe host device. The information extracted from the register commandsare used to determine the positions of the client devices, step 606.

The position or arrangement information enables the host device toidentify appropriate client position fields and to populate the clientdevices' IP addresses in the position fields. The position fields may bestructured in an array stored in memory of the host device and used forcommunicating with the client devices. The host device may then transmitdisplay instructions corresponding to the position of the clientdevices, step 608. Display instructions may be sent to each of theclient devices to start a display of their respective portions of awhole or an entirety of a main presentation in a synchronized fashion.The instruction(s) may trigger client devices registered to the hostdevice to initiate a main presentation loop.

The host device may subsequently monitor whether user interactionrequests are received from the client devices, step 610. Userinteraction requests may be received from client devices receivinginteractions from users that require communication between the clientdevices and the host device, such as a game. If there are no userinteraction requests, the method may monitor for the end of thepresentation, step 612. In the event that the presentation has not yetended, the method may continue steps 610 and 612. The play instructioncan be configured to be automatically resent after a number of secondsdefined in a loop timing setting to coincide with the end of thepresentation (a “YES” condition at step 612).

When a user interaction request is received from one or more clientdevices, the host device may transmit activity messages to the one ormore client devices, step 614. The activity messages may include, forexample, messages to initialize a game, display certain animations,provide a score, etc. The host device continues to monitor for userinteraction requests and transmit activity messages until determiningthat the user interaction session has ended, step 616, while at the sametime, resends play instructions to any client devices excluded from theuser interaction session. A user session may end from user inactivityfor a predetermined amount of time, or if a “game over” or terminationcondition has occurred. When a user session ends, the one or more clientdevices associated with the ended session may be re-synchronized withthe excluded client devices and play of the presentation may be restoredon the one or more client devices, step 618.

FIG. 7 presents a diagram of a client device and a host device at thestart of a user interaction with the client device according to anembodiment of the present invention. An individual may interact with oneor more client devices, causing them to “remove” themselves from themain presentation and dedicate themselves to generating an individualexperience for the individual. At the beginning of an interaction 708 bya user 702 with a client device 704, an initiate request 710 may becommunicated from client device 704 to host device 706. The userinteraction 708 may interrupt the display of the main presentation atany given time during the presentation. The client device 704 may stopdisplaying the main presentation and temporarily dedicate itself torendering a personalized experience for user 702.

The initiate request 710 may notify host device 706 that client device704 is no longer displaying the main presentation. An initiate response712 responsive to the initiate request 710 may be sent from host device706 to client device 704. The initiate response 712 may be instructionsor commands to initialize the personalized experience on client device704, for example, a “StartGame” message. In an alternative embodiment,initiate request 710 may be a content request and initiate response 712may be the content or content stream. In yet another embodiment,initiate request 710 may be a content request sent to a content server(not illustrated) and client device 704 may receive content responsiveto the content request from the content server. Throughout thepersonalized experience, session data 714 may be communicated betweenclient device 704 and host device 706. Session data 714 includes, but isnot limited to, user selections, display instructions, notifications,etc.

FIG. 8 illustrates a diagram of a client device and a host device at theend of a user interaction with the client device according to anembodiment of the present invention. A user 802 ends an interaction(808) with client device 804 and an interaction ended notification 810may be transmitted from the client device 804 to host device 806. Theuser may explicitly end an interaction with client device 804 oralternatively, inactivity of the user 802 for a predetermined amount oftime may indicate to client device 804 that the user has ended theinteraction. Host device 806 may transmit an interaction ended response812. The interaction ended response 812 may be, for example, a stopcommand to remove the personalized experience from display. Clientdevice 804 may be synchronized to display the correct content and rejointhe main presentation via a resume presentation command 814.

FIGS. 1 through 8 are conceptual illustrations allowing for anexplanation of the present invention. It should be understood thatvarious aspects of the embodiments of the present invention could beimplemented in hardware, firmware, software, or combinations thereof. Insuch embodiments, the various components and/or steps would beimplemented in hardware, firmware, and/or software to perform thefunctions of the present invention. That is, the same piece of hardware,firmware, or module of software could perform one or more of theillustrated blocks (e.g., components or steps).

In software implementations, computer software (e.g., programs or otherinstructions) and/or data is stored on a machine readable medium as partof a computer program product, and is loaded into a computer system orother device or machine via a removable storage drive, hard drive, orcommunications interface. Computer programs (also called computercontrol logic or computer readable program code) are stored in a mainand/or secondary memory, and executed by one or more processors(controllers, or the like) to cause the one or more processors toperform the functions of the invention as described herein. In thisdocument, the terms “machine readable medium,” “computer program medium”and “computer usable medium” are used to generally refer to media suchas a random access memory (RAM); a read only memory (ROM); a removablestorage unit (e.g., a magnetic or optical disc, flash memory device, orthe like); a hard disk; or the like.

Notably, the figures and examples above are not meant to limit the scopeof the present invention to a single embodiment, as other embodimentsare possible by way of interchange of some or all of the described orillustrated elements. Moreover, where certain elements of the presentinvention can be partially or fully implemented using known components,only those portions of such known components that are necessary for anunderstanding of the present invention are described, and detaileddescriptions of other portions of such known components are omitted soas not to obscure the invention. In the present specification, anembodiment showing a singular component should not necessarily belimited to other embodiments including a plurality of the samecomponent, and vice-versa, unless explicitly stated otherwise herein.Moreover, applicants do not intend for any term in the specification orclaims to be ascribed an uncommon or special meaning unless explicitlyset forth as such. Further, the present invention encompasses presentand future known equivalents to the known components referred to hereinby way of illustration.

The foregoing description of the specific embodiments will so fullyreveal the general nature of the invention that others can, by applyingknowledge within the skill of the relevant art(s) (including thecontents of the documents cited and incorporated by reference herein),readily modify and/or adapt for various applications such specificembodiments, without undue experimentation, without departing from thegeneral concept of the present invention. Such adaptations andmodifications are therefore intended to be within the meaning and rangeof equivalents of the disclosed embodiments, based on the teaching andguidance presented herein. It is to be understood that the phraseologyor terminology herein is for the purpose of description and not oflimitation, such that the terminology or phraseology of the presentspecification is to be interpreted by the skilled artisan in light ofthe teachings and guidance presented herein, in combination with theknowledge of one skilled in the relevant art(s).

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample, and not limitation. It would be apparent to one skilled in therelevant art(s) that various changes in form and detail could be madetherein without departing from the spirit and scope of the invention.Thus, the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A system for displaying interactive content, thesystem comprising: a host device configured to: receive registercommands from a plurality of client devices, the register commandsincluding arrangement information of the plurality of client devices;register the plurality of client devices with the host device; determinea position for each of the plurality of client devices based on thearrangement information; and transmit display instructions to theplurality of client devices to start display of respective portions of awhole presentation corresponding to the position of the client devicesin a synchronized fashion.
 2. The system of claim 1 wherein thearrangement information indicates a position of a given client devicewithin a multiple screen display arrangement.
 3. The system of claim 1wherein the arrangement information includes a row and column numberassociated with the position of a given client device.
 4. The system ofclaim 1 wherein each of the register commands includes the clientdevices' Internet Protocol address.
 5. The system of claim 1 wherein thehost device is further configured to generate a scannable configurationcode.
 6. The system of claim 5 wherein the scannable configuration codeincludes configuration information of the host device usable by theplurality of client devices to communicate with the host device.
 7. Thesystem of claim 5 wherein the scannable configuration code is a QR code.8. The system of claim 5 wherein the scannable configuration codeincludes a radio-frequency identification code that is transmittable viaat least one of near field communication, Bluetooth, and radio frequencyidentification tag technologies.
 9. The system of claim 1 wherein theplurality of client devices are arranged in a multi-dimensional array ofdevices.
 10. The system of claim 1 wherein the host device is one of theplurality of client devices.
 11. The system of claim 10 wherein the hostdevice is operable to perform host and client functions.
 12. The systemof claim 1 wherein the plurality of client devices are configured toprovide an individual experience upon user interaction.
 13. The systemof claim 12 wherein the user interaction interrupts the display ofrespective portions of the whole presentation at any given time on agiven one of the plurality of client devices during the presentation.14. The system of claim 12 wherein the individual experience includesproviding at least one of: games, quizzes, images, documents, andadditional videos.
 15. The system of claim 12 wherein the host device isfurther configured to transmit session data to the plurality of clientdevices providing the individual experience.
 16. The system of claim 12wherein providing the individual experience includes replacing thedisplay of respective portions of the whole presentation with theindividual experience.
 17. The system of claim 16 wherein the pluralityof client devices are configured to restore the display of respectiveportions of the whole presentation upon completion of the userinteraction.
 18. The system of claim 1 wherein the plurality of clientdevices are mounted on a surface in an arrangement consistent with thearrangement information.
 19. A system for displaying interactivecontent, the system comprising: a host device configured to: receiveregister commands from a plurality of client devices, the registercommands including arrangement information of the plurality of clientdevices, register the plurality of client devices with the host device,determine a position for each of the plurality of client devices basedon the arrangement information, and transmit display instructions to theplurality of client devices to start display of respective portions of awhole presentation corresponding to the position of the client devicesin a synchronized fashion; and the plurality of client devices in anarrangement consistent with the arrangement information, the pluralityof client devices configured to: receive the display instructions fromthe host device, display the respective portions of a wholepresentation, and provide an individual experience in response to a userinteraction.
 20. Non-transitory computer readable media comprisingprogram code that when executed by a programmable processor causesexecution of a method for displaying interactive content, the computerreadable media comprising: computer program code for receiving registercommands from a plurality of client devices, the register commandsincluding arrangement information of the plurality of client devices;computer program code for registering the plurality of client deviceswith the host device; computer program code for determining a positionfor each of the plurality of client devices based on the arrangementinformation; and computer program code for transmitting displayinstructions to the plurality of client devices to start display ofrespective portions of a whole presentation corresponding to theposition of the client devices in a synchronized fashion.